package com.gdzn.netty.service;

import io.netty.channel.ChannelHandlerContext;

/**
 * @description: 电柜/电池redis缓存服务类
 * @author: zdj
 * @created: 2024-04-18
 * @version: V1.0
 */
public interface IDeviceRedisService {

    /**
     * 通过设备ID获取管道
     * @return
     */
    ChannelHandlerContext getChannelByDevId(String devId);


    /**
     * 通过channelId获取管道的关系
     * @return
     */
    ChannelHandlerContext getChannel(String channelId);

    /**
     * 通过channelId获取管道的关系
     * @return
     */
    void removeChannel(ChannelHandlerContext ctx);

    /**
     * 通过设备ID设置管道ID
     * @return
     */
    boolean setChannelIdByDevId(String devId, String channelId);

    /**
     * 通过设备ID获取管道id
     * @return
     */
    String getChannelIdByDevId(String devId);

    /**
     * 通过设备ID删除管道id
     * @return
     */
    void removeChannelIdByDevId(String devId);

    /**
     * 通过管道ID设置设备ID
     * @return
     */
    boolean setDevIdByChannelId(String channelId, String devId);

    /**
     * 通过管道ID获取设备ID
     * @return
     */
    String getDevIdByChannelId(String channelId);

    /**
     * 通过管道ID删除管道id
     * @return
     */
    void removeDevIdByChannelId(String channelId);

    public String getDevId(String devId);

    public String getAuthCabinet();
}
